Repository navigation
chore(deps): update all non-major dependencies - #39
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
|
commit: |
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
10 times, most recently
from
January 5, 2026 08:56
9aea6eb to
dac8bec
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
4 times, most recently
from
January 8, 2026 09:55
c4e0483 to
558f461
Compare
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
12 times, most recently
from
January 13, 2026 17:03
1f5110d to
f7e4fcd
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
4 times, most recently
from
January 22, 2026 16:44
ecb4aca to
3c4b791
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
13 times, most recently
from
February 1, 2026 21:32
5855856 to
fa38aa7
Compare
renovate
Bot
force-pushed
the
renovate/all-minor-patch
branch
6 times, most recently
from
February 5, 2026 08:57
8224c6b to
8b74bc2
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
11.15.1→11.28.10^0.22.13→^0.23.0^0.6.0→^0.7.0Release Notes
pnpm/pnpm (pnpm)
v11.28.10: pnpm 11.28.10Compare Source
pnpm 11.28.10 stops
pnpm store prunefrom deleting other stores whencacheDirpoints to their parent directory. It also fixes globally installed commands that load hoisted dependencies, and repeat installs that missed changes to local dependencies.Patch Changes
Installing packages
pnpm store prunepreserves other stores and global package data whencacheDirpoints to their parent directory.Commands installed with
pnpm add --globalnow find the dependencies that pnpm hoists for their package. A package that loads a dependency it does not declare, such as a native addon's platform-specific package, failed with "Cannot find module". Reinstall such a package withpnpm add --globalto update its existing command #17503.pnpm prune --prodno longer fails withERR_PNPM_EXDEVwhennode_moduleswas copied from an earlier Docker build stage #17424.pnpm installnow retries a Node.js runtime zip download when the connection drops partway through. A download that still fails names its URL. Before, a single dropped connection ended the install withterminated#17411.With the global virtual store, a change to a dependency of one package in a dependency cycle now gives every package in that cycle a new directory. Before, the other packages kept their directories and still linked the old copy of the changed package, so the project could load two copies of it #17466.
Packages in a dependency cycle, and packages that depend on one, move to new global virtual store directories once after this update. Those that run a build miss the side-effects cache once.
pnpm installandpnpm rebuildnow refresh privately hoisted.binshims innode_modules/.pnpm/node_modules/.binafter a dependency build replaces a script target with a native executable #17402.The Node.js
latestselector now chooses the newest stable release #17490.The standalone
@pnpm/exebuilds now embed Node.js 26.13.0.Repeat installs and lockfiles
pnpm installnow resolves a local directory again after itspackage.jsonchanges when an override or a package extension adds it to the dependencies of a registry package.pnpm install --frozen-lockfilefails on a lockfile that still records the old dependencies of such a directory #17486.With
injectWorkspacePackagesand per-project lockfiles,pnpm installnow updates a project's lockfile when a local tarball that an injected workspace project depends on is replaced. The project's lockfile kept the old version and integrity before.pnpm installnow detects a change to a local tarball or directory that only a pnpmfilereadPackagehook depends on. A repeat install reported "Already up to date" and kept the old contents before pnpm/tasks#227.pnpm installnow relinks aworkspace:orlink:dependency whose link was deleted fromnode_modules. It used to report "Already up to date" and leave the link missing #17485.Merging git branch lockfiles now keeps a workspace project whose directory is named
__proto__. It was dropped from the merged lockfile before pnpm/tasks#59.Adding and publishing packages
pnpm addno longer rewrites a catalog entry set to the dist-tag that the dependency resolves through. For example, an entrybetastaysbetaafterpnpm add foo@betaorpnpm add foo. Before, the entry was replaced with the version the tag pointed to pnpm/tasks#225.pnpm packandpnpm publishnow always include the binary file declared by a stringbinfield inpackage.json, even whenfilesor.npmignorewould otherwise exclude it.When the version or range given to
pnpm unpublishmatches every published version, the error now says so and shows the same command with--force. It suggested runningpnpm unpublish <pkg>@<version>, the command that had just failed.Running commands
Every command, including
pnpm --version,pnpm self-update, and invocations with unknown flags, now applies the samepackageManageranddevEngines.packageManagersettings when switching to the pinned pnpm version or recording it inpnpm-lock.yaml.--config.<key>flags andlockfileDirnow reach the version switch and lockfile sync on every entry point. Unreadable settings inpnpm-workspace.yamlor the globalconfig.yamlthat do not affect the pin decision no longer block the version switch pnpm/tasks#222.On Windows, the shell shim of a
.cmdor.batbin now runs it under Git Bash when MSYS argument conversion is off, such as withMSYS_NO_PATHCONV=1orMSYS2_ARG_CONV_EXCL='*'. The shim used to start an interactive cmd.exe prompt #17480.pnxandpnpm createnow run the command in the directory selected by--diror--workspace-root. Without either flag, the command still runs in the directory pnpm was started in.The error for a dependency with an invalid name in a project's manifest now names the project's directory. It used to say only "The current package", which did not tell which workspace project to fix #17475.
Platinum Sponsors
Gold Sponsors
v11.28.9: pnpm 11.28.9Compare Source
This release fixes a crash on registry responses with too many content encodings (GHSA-xjj6-f33q-929c) and sizes the install worker pool by the container's CPU quota. A repeat
pnpm installnow acts on more setting changes.Patch Changes
Crashes and security
A registry response with too many content encodings can no longer crash pnpm. pnpm now uses undici 7.30.1, which fixes GHSA-xjj6-f33q-929c.
pnpm installnow sizes its worker pool by the CPU quota of the container it runs in, such as a Kubernetes CPU limit, when that quota is smaller than the number of CPUs the container may run on. The defaultworkspaceConcurrencyrespects the quota the same way. On a CI runner with a 4-CPU quota and hundreds of host CPUs, pnpm started hundreds of workers and ran out of memory #17382.Repeat installs and changed settings
A repeat
pnpm installnow acts on a change to these settings. Before, it reported "Already up to date".storeDirorvirtualStoreDir: it recreatesnode_modules.virtualStoreDirMaxLength: it renames the virtual store directories.dangerouslyAllowAllBuildsturned on: it runs the builds it skipped.trustLockfileturned off: it verifies the lockfile.pnpm add,pnpm remove, andpnpm updatenow fail when thenode-linkersetting differs from the one recorded innode_modules. Apnpm installof the whole workspace recreatesnode_moduleswith the newnode-linker, and an install filtered to some projects fails pnpm/tasks#203.An install filtered to some workspace projects now fails if
node_moduleswas installed with a differentnodeLinker,hoistPattern,publicHoistPattern, store, or virtual store. Before, it recreatednode_modulesand left the projects it skipped without their dependencies. Apnpm installof the whole workspace still recreatesnode_modulespnpm/tasks#217.pnpm installnow takes its fast path in a workspace withpatchedDependencieswhen the previous install ran with another major version of pnpm.pnpm installnow relinks the bins of a workspace package when itsbinfield changes, including with--frozen-lockfileand an unchanged lockfile. A filtered install relinks them in the selected projects, and the next install that covers the remaining projects relinks them there #17324.pnpm installnow removes command shims fromnode_modules/.binwhen a workspace dependency renames or removes an entry from itsbinfield pnpm/tasks#211.With
nodeLinker: hoisted, an install that stops partway no longer leaves the next install trusting the packages it was replacing. Before, reverting the change that started the stopped install, such as a patch edit, kept the half-replaced package innode_modules.pnpm runandpnpm execno longer report the dependencies as out of date after a lockfile change whendedupePeersistrue#17322.Resolving dependencies and the lockfile
A package that a plain range and a
<prefix>:specifier both resolve from one registry is now recorded once inpnpm-lock.yamland installed once. The lockfile key names the registry a package resolved from. When that registry declares a prefix, throughprefixinregistriesor throughnamedRegistries, the package is keyed<name>@<prefix>:<version>however its dependency was written: with the prefix, as a plain range its scope routes to that registry, or through the default registry. Before, the plain range was keyed<name>@<version>, so one tarball was installed twice andinstanceofchecks and module singletons broke between the two copies. The same name and version served by two registries still get separate entries. When several prefixes declare one registry, its packages are keyed by the lexicographically smallest prefix.If a scope you route reaches a registry that also declares a prefix, your next
pnpm installre-keys those entries, which shows up as a lockfile diff. Commit it.pnpm install --frozen-lockfileinstalls the lockfile as recorded.pnpm installnow resolves a scope's packages again when the scope is routed to another registry inregistries. Before, the lockfile kept the versions and integrity resolved from the old registry, so the install failed when the new registry did not serve a locked version or served different content. pnpm records in the workspace state which registry each scope routed to, so a fresh clone without that record installs the lockfile as recorded. Changing the default registry resolves nothing again, andpnpm install --frozen-lockfileis unchanged.An optional dependency written with a named-registry prefix, such as
work:^1.0.0, now fails the install when it cannot be resolved but the lockfile already has a matching entry from that registry. Such a dependency was skipped, which removed its entries from the lockfile.With
injectWorkspacePackages: true, aworkspace:dependency written as a relative path, such asworkspace:../lib-a, in a workspace package now resolves from that package's directory #17284.Fixed
pnpm installfailing withERR_PNPM_UNSUPPORTED_PROTOCOLwhen a workspace package injected through a relative path, such asworkspace:../lib, hascatalog:dependencies. Their catalog entries now resolve the way they do for a package injected by name #17280.pnpm installnow applies theserverTyperegistry setting when it updates the lockfile for an override or catalog change without a full resolution. pnpm wrote the tarball URLs of a declared registry into the lockfile in that case.Added the
pnprvalue to theserverTyperegistry setting. pnpm leaves the tarball URLs of a pnpr registry out ofpnpm-lock.yaml.A
registriesentry whoseprefixis__proto__is no longer ignored.Installs delegated to a pnpr server now resolve every prefix declared for a registry URL. A dependency or lockfile entry that used the second of two prefixes for the same registry, such as
zeta:next towork:innamedRegistries, failed on the server pnpm/tasks#204.Registries, proxies, and downloading pnpm
The proxy settings
httpProxy,httpsProxy,noProxy,proxy, andnoproxyset in the globalconfig.yaml, throughPNPM_CONFIG_HTTPS_PROXYand the matching variables, or as--config.httpsProxyon the command line now apply topnpm self-updateand to the download of the pnpm version pinned inpackageManager. Previously, these requests read the proxy only from.npmrcand theHTTPS_PROXYfamily of variables pnpm/tasks#215.When
https-proxyisfalse, pnpm now downloads the pnpm version pinned bypackageManagerthrough the legacyproxysetting, as installs already do. Settingproxytofalsenow also stops that download from using theHTTP_PROXYenvironment variable. The signature check of the pinned pnpm now uses the same proxy and TLS settings as its download pnpm/tasks#193.strictSslandlocalAddressset in the globalconfig.yaml, throughPNPM_CONFIG_STRICT_SSLandPNPM_CONFIG_LOCAL_ADDRESS, or on the command line now apply topnpm self-updateand to the download of the pnpm version pinned inpackageManager. These requests read them from.npmrconly before.--config.localAddressnow reaches them in the camelCase spelling too pnpm/tasks#201.Commands
pnpm audit --ignoreandpnpm audit --ignore-unfixablenow exit with a non-zero code when vulnerabilities at or above the audit level remain after ignoring. Before, these commands always exited with code 0.pnpm audit --fixandpnpm audit --interactivenow fail withERR_PNPM_AUDIT_FIX_WITH_IGNOREwhen combined with--ignoreor--ignore-unfixable. Before, the fix ran and the ignore flags had no effect.pnpm ci --lockfileandpnpm ci --config.lockfile=trueno longer deletepnpm-lock.yaml.pnpm cinow always keeps the lockfile and runs a frozen install from it.pnpm deploynow keeps a deployed symlink to a directory inside the project even if the directory is not among the deployed files, such as a link intonode_modules#17288.pnpm packandpnpm publishagain include the files of apublishConfig.directorythat is reached through a symlink, together with its bundled dependencies #17390.pnpm -r publish --batchnow sendsPUT /-/pnpr/v0/publish, the batch publish endpoint that pnpr serves.pnpm store prunenow keeps the packages that a project still uses when pnpm copied or cloned them intonode_modules. These include patched packages, built packages, and every package installed withpackageImportMethod: copy. Before, the prune removed them, and the next install downloaded them again #7192.pnpm store prunenow keeps the packages of a project that was installed with a different symlinked spelling of the store path. Previously, prune dropped such a project from its list and removed the packages only that project used from the global virtual store.Speed and output
Sped up installs of projects whose local directory dependencies share transitive local directory dependencies. pnpm no longer checks a shared directory again for each direct dependency that reaches it #17374.
Output that fills the terminal, such as
pnpm run --streamscript output, is now written once. Before, every new line also rewrote all the lines already on screen #17387.The warning about unrecognized settings now marks
symlinkedLockfileTargetDirsas a setting of a newer pnpm version.Platinum Sponsors
Gold Sponsors
v11.28.8: pnpm 11.28.8Compare Source
Patch Changes
@pnpm/exebuilds now embed Node.js 26.12.1. The previously embedded Node.js 26.0.0 still trusted the certificate authority intermediates that Node.js distrusted in October 2026, so a standalone pnpm accepted TLS certificates issued under them.Platinum Sponsors
Gold Sponsors
v11.28.7: pnpm 11.28.7Compare Source
This release rejects registry metadata that names a different package than the one requested, applies
trustPolicyto the pnpm version a project pins, and caps unpacked package size withmaxTarballUnpackedSize. It also removes support for registry revisions, fixesverifyDepsBeforeRunafter filtered installs, and finishes commands with their own exit code when a pipe reader exits early.Patch Changes
Security
pnpm now fails with
ERR_PNPM_REGISTRY_NAME_MISMATCHif a registry returns metadata for a package other than the one requested. Before, pnpm installed the package under the name in the metadata, soallowBuildsrules for the requested package did not apply to it.pnpm now applies
trustPolicyto the pnpm version a project pins inpackageManagerordevEngines.packageManager. A pinned version whose trust evidence was downgraded fails the command before pnpm switches to it or records it in the lockfile #16319.minimumReleaseAgeExcludePruneandtrustPolicyExcludePrunenow keep exclusions for resolved configuration dependencies and their transitive dependencies #17142.Added the
maxTarballUnpackedSizesetting.pnpm installfails withERR_PNPM_TARBALL_TOO_LARGEwhen the files of one package unpack to more than this many bytes, 4 GiB by default pnpm/tasks#81.Resolving dependencies
Registry revisions are no longer supported. pnpm now fails with
ERR_PNPM_REGISTRY_REVISIONS_UNSUPPORTEDon registry metadata that selects a revision, on a+rNversion specifier, and on a lockfile entry with arevisionfield.pnpm update --patchesis removed.When
pnpm installresolves a dependency again, it now reuses a version that the install already resolved for the same package, as a fresh install does. Before, it kept the version the lockfile pinned and added a second copy of the package. A locked version still stays when nothing else in the install prefers another version. To pin a transitive dependency on purpose, useoverrides#17084.When another workspace project adds a different version of a package, a project's auto-installed peer on that package now moves to the version a fresh install picks. It used to stay on its locked version while any other project still accepted that version #17058.
An optional peer that pnpm adds to a project now keeps the version the lockfile recorded for that project only while the dependency graph still holds it. Otherwise it follows its provider to a version the graph holds. Before, pnpm kept a higher version that only the lockfile held, which left two copies of the peer #16443.
A package that lists the same dependency in
dependenciesand as an optional peer now gets the peer bound when a project adds a provider for it later. The lockfile now records every peer a package declares, including one its own dependency supplies #17056.pnpm install --prodno longer drops a dependency that a package declares both as an optional peer and as its own dependency, when the package resolved it as its own dependency and a dev dependency provides the same package under another alias.pnpm now measures a
pnpm.overridesentry written as aworkspace:path, such asworkspace:./packages/foo, from the directory holdingpnpm-workspace.yaml. It used to be measured from each package the override rewrote. The install then linked a directory that does not exist, or failed if workspace packages were injected #17010.pnpm installnow removes config dependencies that are no longer declared, including when the entireconfigDependenciessetting is removed. Frozen installs reject a lockfile that still records removed config dependencies.pnpm addnow reads the package name correctly from a tarball URL under a registry URL that has a path, such ashttps://example.com/npm/. Before, the registry path became part of the name, so a scoped package failed withERR_PNPM_INVALID_PACKAGE_NAME.pnpm addno longer warns that a gist dependency was replaced from a different source when the new specifier names the same gist in another form, such asgist:<id>andhttps://gist.github.com/<user>/<id>.With
minimumReleaseAgeset, pnpm now revalidates a package's cached full metadata with a single ETag request so an unchanged registry answers with304, and keeps using the cached copy once the registry confirms it is current, even when the metadata does not list a publish time for every version. Previously, pnpm downloaded that metadata again whenever the cached copy was older thanminimumReleaseAge. Packages listed inminimumReleaseAgeExcludealso resolve from cached metadata without a registry request when the lockfile already has the version their range picks.Linking node_modules and workspaces
Concurrent installs that import the same package into one project now all complete. One of them used to fail with
ENOTEMPTYwhen its copy of the package collided with the copy another install had already placed pnpm/tasks#48.pnpm installno longer fails on macOS withEISDIRwhen it creates store directories in a group-writable store under a umask that removes owner read, such as0o477.pnpm installnow succeeds whennode_modulesis a symlink to an existing directory. Dependency hoisting previously rejected a symlinkednode_modulesas an invalid destination #17157.A filtered
pnpm install --no-lockfilewithhoistWorkspacePackagesnow hoists every workspace project intonode_modules/.pnpm/node_modules. It used to hoist only the selected projects pnpm/tasks#168.Filtered installs remove obsolete dependencies from the installed lockfile while preserving dependencies still needed by unselected projects.
With
sharedWorkspaceLockfile: false,pnpm installnow runs thepreResolutionhooks and custom resolvers and fetchers of the workspace root's pnpmfile for every project, next to the project's own. A global pnpmfile now runs once per project, and each project's lockfile records the checksum of the root pnpmfile when the project has none of its own. Before, a project's own pnpmfile replaced these root hooks, the global hooks ran twice, and edits to the root pnpmfile could go unnoticed.pnpm prunenow removes extraneous direct packages fromnode_moduleswhenpackage.jsonandpnpm-lock.yamlare already in sync.pnpm prunealso accepts--filterand--recursiveto prune selected workspace projects without removing dependencies of unselected projects.Injected workspace packages
pnpm install --frozen-lockfilenow fails withERR_PNPM_OUTDATED_LOCKFILEwhen the dependencies of an injected workspace package or local directory dependency no longer match the lockfile. This coverssharedWorkspaceLockfile: false#17008, a dependency changed to a different tarball URL or git commit #17129, and a change in a transitive injected or local directory dependency #17128.pnpm install --frozen-lockfileno longer fails withERR_PNPM_OUTDATED_LOCKFILEwhen an injected workspace package depends on a local directory under another name, such as"renamed": "file:../b"#17130.An injected workspace dependency now becomes a link when its dependencies match the workspace package's own, also on an install that leaves the package's installed dependencies as they are. Before, such an install kept it as a copy #17094.
An injected workspace package that was linked now becomes a copy when the project that depends on it starts providing one of its peers at a version the package's own workspace context lacks. The link used to stay until that dependency was updated, so the package could not find the peer the project provides #17057.
An injected workspace package now keeps only the files its manifest lists after a lifecycle script or a script named in
syncInjectedDepsAfterScriptsrebuilds it. Before, these refreshes copied every file of the package directory into the injected copy, including files thatfilesor.npmignoreleave out. WithdeployAllFiles: truethe copy still gets every file.A script listed in
syncInjectedDepsAfterScriptsnow keeps a package's links to its own files as links in the injected copies, the waypnpm installwrites them. It no longer fails when the package links to one directory twice or links back to a directory above the link.pnpm installwithdeployAllFilesno longer fails on such a link back either.A script listed in
syncInjectedDepsAfterScriptsnow updates the injected copies of the package it ran in whensharedWorkspaceLockfileisfalseor the package publishes frompublishConfig.directory. Before, those copies kept the files from the last install.Running scripts and checking dependencies
When the reader of pnpm's output exits early, as in
pnpm outdated | head, pnpm now finishes the command and exits with the command's own exit code pnpm/tasks#133. It used to exit with code 0 at the first write to the closed pipe. That hid the result of commands such aspnpm outdatedand stoppedpnpm cleanbefore it removed anything.With
enableGlobalVirtualStore, a Node.js resolve hook that a script registers now sees the importer ascontext.parentURLafter pnpm'sNODE_PATHfallback fails to find a bare specifier. Hooks that resolve tsconfigpathsaliases from the importer failed withERR_MODULE_NOT_FOUND#16979.pnpm run,pnpm exec, andpnpm restartnow pass the install flags they were given, such as--lockfile-dir,--modules-dir,--store-dir,--offline, and--ignore-scripts, to thepnpm installthatverifyDepsBeforeRun: installstarts. When that install leavesnode_modulesout of date, pnpm now prints a warning.After
pnpm install --filter,pnpm runandpnpm execnow notice a changed manifest or lockfile in a project that the filtered install left out, including the workspace root after a filtered install withpruneDirectDependencies: truepnpm/tasks#181. A filtered install also preserves the recorded ignored build scripts of unselected projects, andpnpm dedupe --checkandpnpm install --dry-runno longer record outdated dependencies as installed.The
verifyDepsBeforeRuncheck now holds the workspace projects that the selected project depends on, includinglink:workspace dependencies.--filter=<project>...now selectslink:dependencies as well. WithsharedWorkspaceLockfile: false,verifyDepsBeforeRunalso reports dependencies as outdated when a selected project'spnpm-lock.yamlis missing pnpm/tasks#138.verifyDepsBeforeRunand repeatpnpm installruns now applyoverridesbefore comparing a modifiedpackage.jsonwithpnpm-lock.yaml#17127.verifyDepsBeforeRunalso checks whether each importer's resolved catalog versions match the catalog snapshot inpnpm-lock.yaml, and respectslockfileDirin single-project repositories.verifyDepsBeforeRunnow compares manifests, lockfiles, and patch files by content hash. It notices an edit that kept the file's modification time, ascp -p,rsync -a, or an archive extraction leave it, and a patch file that was copied or touched without changing its content no longer marks dependencies as outdated #16988.Deploying and other commands
pnpm deploynow records the peer dependencies of the workspace packages it copies into the deployed lockfile. Before, pnpm rejected that lockfile with--frozen-lockfilewhen a deployed workspace package declared a peer andinjectWorkspacePackageswas off #17093.pnpm install --frozen-lockfileandverifyDepsBeforeRunnow succeed inside a directory created bypnpm deploy.pnpm deploywrites self-contained workspace and lockfile settings, prunes unusedpatchedDependencies, and preserves workspace-level dependency resolutions on deployed directory dependencies.In workspaces with
sharedWorkspaceLockfile: false,pnpm patch,pnpm patch-commit, andpnpm patch-removenow resolve patch files andpatchedDependenciesentries at the workspace root.pnpm installchecks configured patches across all workspace projects before reporting unused patches.Trusted publishing with OIDC now works with registries whose URL has a path, such as
https://registry.example/npm/private/. pnpm previously sent the token exchange request to the root of the registry host.pnpm owner lsnow lists the owners of a package on the npm registry. It reported every package as not found.pnpm sbomnow reads project lockfiles in workspaces withsharedWorkspaceLockfile: false, including filtered and split output, and reports the repository of a package whoserepositoryfield is agist:shorthand.pnpm licenses listreports no licenses for workspace projects not recorded in the lockfile. It errors whenpnpm-lock.yamlis missing. Empty results now use the requested text or JSON format pnpm/tasks#174.pnpm whynow reads each selected workspace project's lockfile and modules directory whensharedWorkspaceLockfileisfalsepnpm/tasks#169.pnpm pkg fixnow converts arepositorystring such asgithub:pnpm/exampleto the object form, asnpm pkg fixdoes. It also normalizes a GitHub, GitLab, or Bitbucket repository URL the waynpm pkg fixdoes #16980.Configuration and setting up pnpm
pnpm now recognizes
externalDependenciesandautoInstallPeersFromHighestMatchinpnpm-workspace.yamlwithout warning and forwards both settings topnpm install. Previously, settingexternalDependenciesinpnpm-workspace.yamlwithnodeLinker: hoistedcrashedpnpm installwithexternalDependencies.has is not a functionpnpm/tasks#166.pnpm now ignores a
PNPM_CONFIG_*environment variable for a URL setting, such asPNPM_CONFIG_REGISTRY, when its value is not a URL. Such a value used to make every command fail withInvalid URL.The warning about unrecognized settings in
pnpm-workspace.yamland the globalconfig.yamlnow namesaddMissingPeerTypes,autoDedupe,bootConfig,macosBackup,nodePackageMap,permissions,pipelineBase,publishWaitTimeout,python,remoteCache,saveTypes,skills,storeIndexFormat, andtoolsas pnpm v12 settings pnpm/tasks#167.When a config file has a setting pnpm cannot read,
pnpm --versionnow prints the version, andpmOnFailandlockfileDirinpnpm-workspace.yamlstay in force. Previously, pnpm switched to the pinned version despitepmOnFail: ignore. pnpm also no longer writes the pinned version topnpm-lock.yamlwhen it cannot read every setting and the running pnpm already matches the pin.pnpm now records the pinned pnpm version in the
pnpm-lock.yamlunder thelockfileDirset inpnpm-workspace.yaml, and resolves a relativelockfileDirfrom the workspace root. pnpm used to write a secondpnpm-lock.yamlat the workspace root.pnpm self-updatenow updates the project's pnpm pin when Homebrew installed pnpm or Corepack runs it. The global pnpm is left alone #17001.pnpm setupnow completes when Windows registry environment values cannot be read or written. It prints PowerShell commands to configurePNPM_HOMEandPATHwithout registry access #17167.pnpm setupnow succeeds when it cannot tell which shell configuration file to update, for example in a container whereSHELLis not set. It installs pnpm and prints thePNPM_HOMEandPATHlines to add yourself. Previously it failed withERR_PNPM_UNKNOWN_SHELL, and so did the installer script at get.pnpm.io #16973.Platinum Sponsors
Gold Sponsors
Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.